#include <graphics.h>
#include <conio.h>
#include <stdio.h>
#include <time.h>
int main()
{
	float Pi=3.14159;
	initgraph(800,600);
	setbkcolor(RGB(128,128,128));
	cleardevice();

	int centerX=300;
	int centerY=300;
	int radius=200;

	int i;
	float offset;
	float totalOffset=0;

	while (1)
	{
		for (centerX=100;centerX<800;centerX=centerX+200)
		{
			for (centerY=100;centerY<600;centerY=centerY+200) 
			{
				totalOffset=0;
				float h=rand()%180;
				COLORREF color1=HSVtoRGB(h,0.9,0.8);
				COLORREF color2=HSVtoRGB(h+180,0.9,0.8);
				for (radius=100;radius>0;radius=radius-20)
				{
					int left=centerX-radius;
					int top=centerY-radius;
					int right=centerX+radius;
					int bottom=centerY+radius;
					for (i=0;i<20;i++)
					{
						offset=i*Pi/10+totalOffset;
						setfillcolor(color1);
						solidpie(left,top,right,bottom,offset,2*Pi/60+offset);
						setfillcolor(RGB(255,255,255));
						solidpie(left,top,right,bottom,2*Pi/60+offset,3*Pi/60+offset);
						setfillcolor(color2);
						solidpie(left,top,right,bottom,3*Pi/60+offset,5*Pi/60+offset);
						setfillcolor(RGB(0,0,0));
						solidpie(left,top,right,bottom,5*Pi/60+offset,6*Pi/60+offset);
					}
					totalOffset=totalOffset+Pi/20;
				}
			}
		}
		_getch();
	}
	return 0;
}
